oracle 模糊查询 怎么没有[a-z]的形式么

来源:百度知道 编辑:UC知道 时间:2024/05/15 14:49:19
我用的是oracle 10g 模糊查询除了 % _ 怎么没有标准sql的[a-z] [^1-9]这样的形式了呢 还是写这样的形式的时候有特殊的写法
我是这么写的
select *from t where t.name like '[A-Z]_' 就是想找以A-Z开头并且长度为2的 我在pl/sql 上面试了 没用呢

ORQCLE没有这样的写法。但是你可以变通一下,
select *from t where lenght(name)=2 and chr(power(substr(name,1,1))) between xx and xx;
取第一个字符判断其ASC码在A的ASC码和Z的asc码之间
substr(str,1,1)是从第一个字符开始取长度为1的字符
power(str) 是把括号里面的字符转换为大写
chr是计算字符ASC码